package main

import (
	"dongtian-server/server"
	"log"
	"os"
	"os/signal"
	"syscall"
)

func main() {
	// 创建服务器实例
	s := server.NewServer(":7789")

	// 捕获中断信号
	stop := make(chan os.Signal, 1)
	signal.Notify(stop, os.Interrupt, syscall.SIGTERM)

	// 启动服务器（非阻塞）
	go func() {
		log.Println("DongTian WebSocket Server starting on port 7789...")
		if err := s.Start(); err != nil {
			log.Fatalf("Server failed to start: %v", err)
		}
	}()

	// 等待中断信号
	<-stop

	//// 直接退出程序，不等待优雅关闭，因为没有数据裤腰落地
	//log.Println("Shutting down server immediately...")
	//os.Exit(0)

	// 优雅关闭服务器
	log.Println("Shutting down server...")
	s.Stop()
	log.Println("Server gracefully stopped")

}
